Modul 5 von 16 · 📖 9 min Lesezeit · ⏱ 60 min gesamt
FUTO 05 OpenVPN Server
Inhaltsverzeichnis (6 Abschnitte)
FUTO 05 OpenVPN Server
In diesem Modul richten Sie einen sicheren VPN-Server mit OpenVPN ein. Sie lernen, sowohl den Zugriff von externen Geräten (Client-to-Site) als auch die Verbindung zweier Standorte (Site-to-Site) zu konfigurieren. Der Fokus liegt auf einer robusten, produktiven Einrichtung mit TLS-Authentifizierung und Easy-RSA für Zertifikatsverwaltung.
Konzepte und Hintergrund
- OpenVPN
- Ein Open-Source-VPN-Protokoll, das SSL/TLS für sichere Datenübertragungen verwendet. Es unterstützt sowohl TCP- als auch UDP-Verbindungen und bietet eine hohe Kompatibilität mit verschiedenen Betriebssystemen.
- TLS (Transport Layer Security)
- Ein Sicherheitsprotokoll, das für die Authentifizierung von Server und Clients sowie die Verschlüsselung der Datenkanäle verwendet wird. OpenVPN nutzt TLS, um eine sichere Verbindung zwischen Client und Server herzustellen.
- Site-to-Site
- Eine VPN-Konfiguration, die zwei oder mehr Netzwerke miteinander verbindet. Alle Geräte in den verbundenen Netzwerken können sich gegenseitig wie in einem einzigen lokalen Netzwerk erreichen.
- Client-to-Site
- Eine VPN-Konfiguration, bei der einzelne Geräte (Clients) aus dem Internet eine Verbindung zum Unternehmensnetzwerk herstellen. Jeder Client erhält Zugriff auf die im VPN definierten Netzwerkressourcen.
- Easy-RSA
- Ein Kommandozeilenwerkzeug zur Verwaltung von PKI (Public Key Infrastructure). Es vereinfaltet die Erstellung und Verwaltung von Zertifikaten für OpenVPN-Server und -Clients.
Architektur-Diagramm
flowchart LR A[Internet] --> B[OpenVPN Server] B --> C[LAN] B --> D[DMZ] E[Client] --> B
Praktische Schritte
- Installieren Sie OpenVPN auf Ihrem Server mit dem Befehl
. Dies installiert die notwendigen Pakete für den VPN-Dienst und die Zertifikatsverwaltung.apt update && apt install openvpn easy-rsa - Initialisieren Sie das PKI-Verzeichnis mit
. Dies erstellt eine strukturierte Umgebung für die Zertifikatsverwaltung.make-cadir ~/easy-rsa && cd ~/easy-rsa - Passen Sie die Konfigurationsdatei vars an, indem Sie mindestens die Zeilen
setzen. Diese Werte werden für die Erstellung der Zertifikate verwendet.export EASY_RSA="`pwd`" export KEY_NAME="server" export KEY_COUNTRY="DE" export KEY_PROVINCE="BY" export KEY_CITY="Muenchen" export KEY_ORG="MeinUnternehmen" export KEY_EMAIL="[email protected]" - Erstellen Sie den Server-Zertifizierungsstellen-Schlüssel mit
. Dies erstellt die Root-CA für Ihre VPN-Infrastruktur../easyrsa init-pca && ./easyrsa build-ca nopass - Generieren Sie den Serverschlüssel mit
. Dieser Schlüssel wird für die Authentifizierung des VPN-Servers verwendet../easyrsa build-server-full server nopass - Erstellen Sie Diffie-Hellman-Parameter mit
. Diese Parameter erhöhen die Sicherheit des Schlüsselaustauschs../easyrsa gen-dh - Kopieren Sie die generierten Zertifikate und Schlüssel in das OpenVPN-Verzeichnis mit
. Diese Dateien sind für den Betrieb des Servers erforderlich.cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem /etc/openvpn/ - Konfigurieren Sie den OpenVPN-Server, indem Sie die Datei /etc/openvpn/server.conf erstellen und grundlegende Einstellungen hinzufügen:
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3 - Starten Sie den OpenVPN-Dienst mit
und aktivieren Sie ihn für den Autostart mitsystemctl start openvpn@server
. Der Server ist nun betriebsbereit und wartet auf Verbindungen.systemctl enable openvpn@server
Häufige Fallstricke
Weiterführende Ressourcen
- Offizielle OpenVPN Referenzdokumentation
- Easy-RSA GitHub Repository
- OpenVPN Community Forum
- OpenVPN Konfigurationsanleitung auf ArchWiki
- Detaillierter Setup-Leitfaden von DigitalOcean
Wissens-Check
Vier Fragen zur Selbstkontrolle. Klicken Sie jede Frage an, um die richtige Antwort und Erklärung zu sehen.
1. Welches Hauptmerkzeichnung unterscheidet Client-to-Site von Site-to-Site VPN-Konfigurationen?
- A) Die verwendete Verschlüsselungsmethode
- B) Die Anzahl der beteiligten Netzwerke
- C) Das verwendete Protokoll (TCP vs. UDP)
- D) Die Art der Authentifizierung
Richtige Antwort: B. Bei Client-to-Site verbindet ein einzelnes Gerät mit einem Netzwerk, während Site-to-Site zwei oder mehr Netzwerke miteinander verbindet. Die anderen Optionen sind beides VPN-Konfigurationsarten gemeinsam.
2. Was ist der primäre Zweck von Easy-RSA in der OpenVPN-Konfiguration?
- A) Die Erstellung von Netzwerkkonfigurationsdateien
- B) Die Verwaltung von PKI und Zertifikaten
- C) Die Optimierung der VPN-Verbindungsgeschwindigkeit
- D) Die Authentifizierung von Benutzern über LDAP
Richtige Antwort: B. Easy-RSA ist speziell für die Verwaltung von PKI (Public Key Infrastructure) und Zertifikaten konzipiert. Die anderen Optionen beschreiben andere Funktionen, die nicht zum Kern von Easy-RSA gehören.
3. Welche Sicherheitsfunktion macht OpenVPN besonders sicher?
- A) Die Verwendung von statischen IP-Adressen
- B) Die Integration mit Active Directory
- C) Die Nutzung von TLS für Authentifizierung und Verschlüsselung
- D)</strong) Die Fähigkeit, NAT-Traversal durchzuführen</li>
Richtige Antwort: C. TLS (Transport Layer Security) ist die Kernkomponente, die OpenVPN seine hohe Sicherheit verleiht, indem es sowohl die Authentifizierung als auch die Verschlüsselung der Datenkanäle sicherstellt. Die anderen Optionen sind Funktionen, aber nicht die primäre Sicherheitsgrundlage.
4. Welcher Befehl initialisiert das PKI-Verzeichnis für die Zertifikatsverwaltung in OpenVPN?
- A)
openvpn --init-pki - B)
make-cadir ~/easy-rsa - C)
easyrsa init-pki - D)
certmgr create
Richtige Antwort: B. Der Befehl make-cadir ~/easy-rsa erstellt das strukturierte Verzeichnis für die Zertifikatsverwaltung. Die anderen Optionen sind entweder falsche Befehle oder nicht Teil des initialen Setup-Prozesses.